
/*
 * Java class "TargetingMode.java" generated from Poseidon for UML.
 * Poseidon for UML is developed by <A HREF="http://www.gentleware.com">Gentleware</A>.
 * Generated with <A HREF="http://jakarta.apache.org/velocity/">velocity</A> template engine.
 */
package jcs;



/**
 * <p></p>
 * @poseidon-object-id [sm$aaca8a:ffff2170b8:-7f48]
 */
public abstract class TargetingMode {

  ///////////////////////////////////////
  // attributes


/**
 * <p>Represents ...</p>
 * @poseidon-object-id [sm$31b810:ffff82645c:-7ff6]
 */
    public final double DISTANCE_FACTOR = 2.0; 

/**
 * <p>Represents ...</p>
 * @poseidon-object-id [sm$31b810:ffff82645c:-7ff5]
 */
    public final double POWER_BUFFER = 300.0; 

/**
 * <p>Represents ...</p>
 * @poseidon-object-id [sm$31b810:ffff82645c:-7ff2]
 */
    public final double WALL_FACTOR = 1000.0; 

/**
 * <p>Represents ...</p>
 * @poseidon-object-id [sm$31b810:ffff82645c:-7ff0]
 */
    public final double WALL_TOLERANCE = 100.0; 

/**
 * <p>Represents ...</p>
 * @poseidon-object-id [sm$31b810:ffff82645c:-7fee]
 */
    public final double BOT_FACTOR = 12000.0; 

   ///////////////////////////////////////
   // associations

/**
 * <p></p>
 * @poseidon-object-id [sm$aaca8a:ffff2170b8:-7f61]
 */
    public Gunner gunner; 
/**
 * <p></p>
 * @poseidon-object-id [sm$31b810:ffff82645c:-7fcc]
 */
    public Seth seth; 


  ///////////////////////////////////////
  // operations


/**
 * <p>Does ...</p>
 * 
 * @poseidon-object-id [sm$aaca8a:ffff2170b8:-7f65]
 * @return 
 * @param target 
 * @param time 
 */
    public abstract double calcPoint(Enemy target, double time);

/**
 * <p>Does ...</p>
 * 
 * @poseidon-object-id [sm$aaca8a:ffff2170b8:-7f66]
 * @return 
 * @param target 
 */
    public abstract double calcBulletPower(Enemy target);

 } // end TargetingMode


